home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FishMarket 1.0
/
FishMarket v1.0.iso
/
fishies
/
126-150
/
disk_147
/
sys
/
atari
/
atari.zoo
/
readme.1st
< prev
next >
Wrap
Text File
|
1988-07-25
|
4KB
|
117 lines
This file documents the Atari-specific features of MG2A. Please refer
to the MG manual and the tutorial for more general information about
how to use MG.
This version of MG has been brought to you by....
Sandra Loosemore (sandra@cs.utah.edu, utah-cs!sandra)
Marion Hakanson (hakanson@cs.orst.edu, orstcs!hakanson)
Keyboard Handling:
------------------
The ALT key acts as the META key. The command meta-key-mode can be
used to toggle this behavior. (On non-US keyboards, the ALT key is
normally used as a modifier with certain other keys to produce printing
characters.)
MG supports 8-bit characters, although since neither of us have
European keyboards we have not been able to test this thoroughly.
The function keys may be bound to commands, although there are no
default bindings established for these keys. F1-F10 are as on the
keyboard, F11-F20 are the shifted F1-F10, and F21-F28 are Help, Undo,
Insert, Up, Clr/Home, Left, Down, and Right, respectively.
Startup Files:
--------------
MG looks for its startup file first as MG.INI in the current directory,
and it then looks for the file specified by the environment variable
MGINIT if that fails. The code to look up the environment variables
checks for all of the various environment styles that are supported
by common shells such as the MWC shell and Gulam, as well as the one
built for the desktop by GEMBOOT.
Spawning a Shell:
-----------------
The suspend-emacs command checks the SHELL environment variable to
determine what program to run. If the environment variable is not
set, or if the attempt to execute the program fails (i.e., the program
is not found), MG will prompt for a command to execute.
Other Options:
--------------
Most of the optional features described in the MG manual are enabled,
including the GOSMACS and DIRED features. The major piece of missing
functionality is the regular expression code, which is nonportable and
won't compile on the ST. There is also no support for backup files yet.
Rebuilding MG:
--------------
MG has been developed using both the Alcyon (v4.14) and Mark Williams
(v2.0) C compilers. Makefiles (maketop.mwc and makesys.mwc) are provided
for MWC, and a Gulam shell script (build.g, also mglink.inp) for Alcyon.
You may need to tweak these files if you have moved things around.
Here is a list of the ST-specific source files:
chrdef.h Character macro definition file
sysdef.h ST-specific definitions
ttydef.h More ST-specific definitions
varargs.h Definitions for varargs macros
alloc.c New "malloc" for Alcyon C, also used by MWC.
cinfo.c Character functions.
diredsup.c Functions to support the "cd" and "dired" features.
fileio.c File i/o functions.
misc.c Functions to support "spawn", etc.
term.c High-level screen manipulation functions.
ttyio.c Low-level terminal i/o functions.
getn.s Functions to determine screen resolution.
gemstart.s Needed for Alcyon C
Changes since MG1B:
-------------------
File and terminal i/o have been completely rewritten to use low-level
GemDOS functions instead of their C equivalents. It's now much faster.
Improved memory management (new implementation of "malloc" and friends
for Alcyon C) makes the "spawn" command more useful.
The use of the ALT key as a meta key and support for 8-bit characters is
new.
The old "dirlist" function has been replaced by dired mode.
Environment variables are now used to specify the startup file and the
shell to run for suspend-emacs.
A few minor cleanups and optimizations, some of which speed things
up markedly.
Bugs
----
There is a bug in TOS that may result in MG creating multiple copies of
files with the same name. It only seems to happen with very short files.
There has been some question raised about the use of the "conterm"
system variable on the "new" (Mega-ST) TOS ROMs, even though such use
is documented in the MWC manual, and elsewhere. Perhaps someone can
test this code on such a system and let us know if there are problems.
A workaround would be to use Getshifts() separately, instead of having
the kbshift value returned by Bconin().